{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Pandas的stack和pivot实现数据透视\n",
    "\n",
    "\n",
    "<img src=\"./other_files/reshaping_example.png\" style=\"margin-left:0px; width:600px\" />\n",
    "\n",
    "1. 经过统计得到多维度指标数据\n",
    "2. 使用unstack实现数据二维透视\n",
    "3. 使用pivot简化透视\n",
    "4. stack、unstack、pivot的语法"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###  1. 经过统计得到多维度指标数据\n",
    "\n",
    "非常常见的统计场景，指定多个维度，计算聚合后的指标  \n",
    "\n",
    "实例：统计得到“电影评分数据集”，每个月份的每个分数被评分多少次：（月份、分数1~5、次数）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv(\n",
    "    \"./datas/movielens-1m/ratings.dat\",\n",
    "    header=None,\n",
    "    names=\"UserID::MovieID::Rating::Timestamp\".split(\"::\"),\n",
    "    sep=\"::\",\n",
    "    engine=\"python\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>UserID</th>\n",
       "      <th>MovieID</th>\n",
       "      <th>Rating</th>\n",
       "      <th>Timestamp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1193</td>\n",
       "      <td>5</td>\n",
       "      <td>978300760</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>661</td>\n",
       "      <td>3</td>\n",
       "      <td>978302109</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>914</td>\n",
       "      <td>3</td>\n",
       "      <td>978301968</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>3408</td>\n",
       "      <td>4</td>\n",
       "      <td>978300275</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>2355</td>\n",
       "      <td>5</td>\n",
       "      <td>978824291</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   UserID  MovieID  Rating  Timestamp\n",
       "0       1     1193       5  978300760\n",
       "1       1      661       3  978302109\n",
       "2       1      914       3  978301968\n",
       "3       1     3408       4  978300275\n",
       "4       1     2355       5  978824291"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "df[\"pdate\"] = pd.to_datetime(df[\"Timestamp\"], unit='s')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>UserID</th>\n",
       "      <th>MovieID</th>\n",
       "      <th>Rating</th>\n",
       "      <th>Timestamp</th>\n",
       "      <th>pdate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1193</td>\n",
       "      <td>5</td>\n",
       "      <td>978300760</td>\n",
       "      <td>2000-12-31 22:12:40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>661</td>\n",
       "      <td>3</td>\n",
       "      <td>978302109</td>\n",
       "      <td>2000-12-31 22:35:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>914</td>\n",
       "      <td>3</td>\n",
       "      <td>978301968</td>\n",
       "      <td>2000-12-31 22:32:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>3408</td>\n",
       "      <td>4</td>\n",
       "      <td>978300275</td>\n",
       "      <td>2000-12-31 22:04:35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>2355</td>\n",
       "      <td>5</td>\n",
       "      <td>978824291</td>\n",
       "      <td>2001-01-06 23:38:11</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   UserID  MovieID  Rating  Timestamp               pdate\n",
       "0       1     1193       5  978300760 2000-12-31 22:12:40\n",
       "1       1      661       3  978302109 2000-12-31 22:35:09\n",
       "2       1      914       3  978301968 2000-12-31 22:32:48\n",
       "3       1     3408       4  978300275 2000-12-31 22:04:35\n",
       "4       1     2355       5  978824291 2001-01-06 23:38:11"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "UserID                int64\n",
       "MovieID               int64\n",
       "Rating                int64\n",
       "Timestamp             int64\n",
       "pdate        datetime64[ns]\n",
       "dtype: object"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 实现数据统计\n",
    "df_group = df.groupby([df[\"pdate\"].dt.month, \"Rating\"])[\"UserID\"].agg(pv=np.size)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>pv</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pdate</th>\n",
       "      <th>Rating</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td rowspan=\"5\" valign=\"top\">1</td>\n",
       "      <td>1</td>\n",
       "      <td>1127</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2608</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>6442</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>8400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>4495</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td rowspan=\"5\" valign=\"top\">2</td>\n",
       "      <td>1</td>\n",
       "      <td>629</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>1464</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>3297</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>4403</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>2335</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td rowspan=\"5\" valign=\"top\">3</td>\n",
       "      <td>1</td>\n",
       "      <td>466</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>1077</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2523</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>3032</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>1439</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td rowspan=\"5\" valign=\"top\">4</td>\n",
       "      <td>1</td>\n",
       "      <td>1048</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2247</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>5501</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>6748</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>3863</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                pv\n",
       "pdate Rating      \n",
       "1     1       1127\n",
       "      2       2608\n",
       "      3       6442\n",
       "      4       8400\n",
       "      5       4495\n",
       "2     1        629\n",
       "      2       1464\n",
       "      3       3297\n",
       "      4       4403\n",
       "      5       2335\n",
       "3     1        466\n",
       "      2       1077\n",
       "      3       2523\n",
       "      4       3032\n",
       "      5       1439\n",
       "4     1       1048\n",
       "      2       2247\n",
       "      3       5501\n",
       "      4       6748\n",
       "      5       3863"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_group.head(20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对这样格式的数据，我想查看按月份，不同评分的次数趋势，是没法实现的\n",
    "\n",
    "需要将数据变换成每个评分是一列才可以实现"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. 使用unstack实现数据二维透视\n",
    "\n",
    "目的：想要画图对比按照月份的不同评分的数量趋势"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"5\" halign=\"left\">pv</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Rating</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pdate</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>1127</td>\n",
       "      <td>2608</td>\n",
       "      <td>6442</td>\n",
       "      <td>8400</td>\n",
       "      <td>4495</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>629</td>\n",
       "      <td>1464</td>\n",
       "      <td>3297</td>\n",
       "      <td>4403</td>\n",
       "      <td>2335</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>466</td>\n",
       "      <td>1077</td>\n",
       "      <td>2523</td>\n",
       "      <td>3032</td>\n",
       "      <td>1439</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>1048</td>\n",
       "      <td>2247</td>\n",
       "      <td>5501</td>\n",
       "      <td>6748</td>\n",
       "      <td>3863</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>4557</td>\n",
       "      <td>7631</td>\n",
       "      <td>18481</td>\n",
       "      <td>25769</td>\n",
       "      <td>17840</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>6</td>\n",
       "      <td>3196</td>\n",
       "      <td>6500</td>\n",
       "      <td>15211</td>\n",
       "      <td>21838</td>\n",
       "      <td>14365</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>7</td>\n",
       "      <td>4891</td>\n",
       "      <td>9566</td>\n",
       "      <td>25421</td>\n",
       "      <td>34957</td>\n",
       "      <td>22169</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>8</td>\n",
       "      <td>10873</td>\n",
       "      <td>20597</td>\n",
       "      <td>50509</td>\n",
       "      <td>64198</td>\n",
       "      <td>42497</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>9</td>\n",
       "      <td>3107</td>\n",
       "      <td>5873</td>\n",
       "      <td>14702</td>\n",
       "      <td>19927</td>\n",
       "      <td>13182</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>10</td>\n",
       "      <td>2121</td>\n",
       "      <td>4785</td>\n",
       "      <td>12175</td>\n",
       "      <td>16095</td>\n",
       "      <td>10324</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>11</td>\n",
       "      <td>17701</td>\n",
       "      <td>32202</td>\n",
       "      <td>76069</td>\n",
       "      <td>102448</td>\n",
       "      <td>67041</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>12</td>\n",
       "      <td>6458</td>\n",
       "      <td>13007</td>\n",
       "      <td>30866</td>\n",
       "      <td>41156</td>\n",
       "      <td>26760</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           pv                             \n",
       "Rating      1      2      3       4      5\n",
       "pdate                                     \n",
       "1        1127   2608   6442    8400   4495\n",
       "2         629   1464   3297    4403   2335\n",
       "3         466   1077   2523    3032   1439\n",
       "4        1048   2247   5501    6748   3863\n",
       "5        4557   7631  18481   25769  17840\n",
       "6        3196   6500  15211   21838  14365\n",
       "7        4891   9566  25421   34957  22169\n",
       "8       10873  20597  50509   64198  42497\n",
       "9        3107   5873  14702   19927  13182\n",
       "10       2121   4785  12175   16095  10324\n",
       "11      17701  32202  76069  102448  67041\n",
       "12       6458  13007  30866   41156  26760"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_stack = df_group.unstack()\n",
    "df_stack"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba09b0ce48>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_stack.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>pv</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pdate</th>\n",
       "      <th>Rating</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td rowspan=\"5\" valign=\"top\">1</td>\n",
       "      <td>1</td>\n",
       "      <td>1127</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2608</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>6442</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>8400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>4495</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td rowspan=\"5\" valign=\"top\">2</td>\n",
       "      <td>1</td>\n",
       "      <td>629</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>1464</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>3297</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>4403</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>2335</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td rowspan=\"5\" valign=\"top\">3</td>\n",
       "      <td>1</td>\n",
       "      <td>466</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>1077</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2523</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>3032</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>1439</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td rowspan=\"5\" valign=\"top\">4</td>\n",
       "      <td>1</td>\n",
       "      <td>1048</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2247</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>5501</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>6748</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>3863</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                pv\n",
       "pdate Rating      \n",
       "1     1       1127\n",
       "      2       2608\n",
       "      3       6442\n",
       "      4       8400\n",
       "      5       4495\n",
       "2     1        629\n",
       "      2       1464\n",
       "      3       3297\n",
       "      4       4403\n",
       "      5       2335\n",
       "3     1        466\n",
       "      2       1077\n",
       "      3       2523\n",
       "      4       3032\n",
       "      5       1439\n",
       "4     1       1048\n",
       "      2       2247\n",
       "      3       5501\n",
       "      4       6748\n",
       "      5       3863"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# unstack和stack是互逆操作\n",
    "df_stack.stack().head(20)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. 使用pivot简化透视"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>pv</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pdate</th>\n",
       "      <th>Rating</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td rowspan=\"5\" valign=\"top\">1</td>\n",
       "      <td>1</td>\n",
       "      <td>1127</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2608</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>6442</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>8400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>4495</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td rowspan=\"5\" valign=\"top\">2</td>\n",
       "      <td>1</td>\n",
       "      <td>629</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>1464</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>3297</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>4403</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>2335</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td rowspan=\"5\" valign=\"top\">3</td>\n",
       "      <td>1</td>\n",
       "      <td>466</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>1077</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2523</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>3032</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>1439</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td rowspan=\"5\" valign=\"top\">4</td>\n",
       "      <td>1</td>\n",
       "      <td>1048</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2247</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>5501</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>6748</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>3863</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                pv\n",
       "pdate Rating      \n",
       "1     1       1127\n",
       "      2       2608\n",
       "      3       6442\n",
       "      4       8400\n",
       "      5       4495\n",
       "2     1        629\n",
       "      2       1464\n",
       "      3       3297\n",
       "      4       4403\n",
       "      5       2335\n",
       "3     1        466\n",
       "      2       1077\n",
       "      3       2523\n",
       "      4       3032\n",
       "      5       1439\n",
       "4     1       1048\n",
       "      2       2247\n",
       "      3       5501\n",
       "      4       6748\n",
       "      5       3863"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_group.head(20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pdate</th>\n",
       "      <th>Rating</th>\n",
       "      <th>pv</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1127</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2608</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>6442</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>8400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>4495</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   pdate  Rating    pv\n",
       "0      1       1  1127\n",
       "1      1       2  2608\n",
       "2      1       3  6442\n",
       "3      1       4  8400\n",
       "4      1       5  4495"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_reset = df_group.reset_index()\n",
    "df_reset.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_pivot = df_reset.pivot(\"pdate\", \"Rating\", \"pv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>Rating</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pdate</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>1127</td>\n",
       "      <td>2608</td>\n",
       "      <td>6442</td>\n",
       "      <td>8400</td>\n",
       "      <td>4495</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>629</td>\n",
       "      <td>1464</td>\n",
       "      <td>3297</td>\n",
       "      <td>4403</td>\n",
       "      <td>2335</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>466</td>\n",
       "      <td>1077</td>\n",
       "      <td>2523</td>\n",
       "      <td>3032</td>\n",
       "      <td>1439</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>1048</td>\n",
       "      <td>2247</td>\n",
       "      <td>5501</td>\n",
       "      <td>6748</td>\n",
       "      <td>3863</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>4557</td>\n",
       "      <td>7631</td>\n",
       "      <td>18481</td>\n",
       "      <td>25769</td>\n",
       "      <td>17840</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Rating     1     2      3      4      5\n",
       "pdate                                  \n",
       "1       1127  2608   6442   8400   4495\n",
       "2        629  1464   3297   4403   2335\n",
       "3        466  1077   2523   3032   1439\n",
       "4       1048  2247   5501   6748   3863\n",
       "5       4557  7631  18481  25769  17840"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_pivot.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1ba09db6d48>"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_pivot.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***pivot方法相当于对df使用set_index创建分层索引，然后调用unstack***"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4. stack、unstack、pivot的语法\n",
    "\n",
    "#### stack：DataFrame.stack(level=-1, dropna=True)，将column变成index，类似把横放的书籍变成竖放\n",
    "\n",
    "level=-1代表多层索引的最内层，可以通过==0、1、2指定多层索引的对应层\n",
    "\n",
    "<img src=\"./other_files/reshaping_stack.png\" style=\"margin-left:0px; width:600px\" />\n",
    "\n",
    "#### unstack：DataFrame.unstack(level=-1, fill_value=None)，将index变成column，类似把竖放的书籍变成横放\n",
    "\n",
    "<img src=\"./other_files/reshaping_unstack.png\" style=\"margin-left:0px; width:600px\" />\n",
    "\n",
    "#### pivot：DataFrame.pivot(index=None, columns=None, values=None)，指定index、columns、values实现二维透视\n",
    "\n",
    "<img src=\"./other_files/reshaping_pivot.png\" style=\"margin-left:0px; width:600px\" />"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
